55

前言

秋招宣告结束,面试了接近20家公司,有幸拿到offer,感谢这段时间一起找工作面试的朋友和陪伴我的人。这是一段难忘的经历,相信不亚于当年的高考吧,也许现在想起来高考不算什么,也许只有经历过秋招的人才懂得找工作的艰辛,offer的来之不易。秋招值得回忆,故借写此篇文章来整理一些资料和心得。

知识点

数据结构和算法

数据结构和算法是不用多说了,基本上好一点的公司都会问。

  • 堆栈、二叉树、平衡二叉树、链表
  • 图的暂时还没遇到过,可能问的比较少吧
  • 哈希表
  • 各种基本排序算法(准备过程尽量能手写出来,尤其注意快速排序、归并排序、堆排序),它们的最优、最差、平均复杂度

计算机网络

前端方面重点准备TCP/IP协议,HTTP协议,HTTPS

  • 前端缓存:强缓存,协商缓存,各种字段的理解和区别
  • HTTP的各种请求头含义和作用。
  • HTTP各种版本的优缺点,应用场景,及对应的优化。如针对http1.0的优化
  • TCP三次握手,四次挥手,最好能记住每一次握手和挥手包含哪些字段,为什么要第三次握手和四次挥手。
  • 一道常考的题目

HTML

  • 了解HTML语义化
  • HTML各种新特性
  • HTML4.0和HTML5.0的区别,如何解决HTML5的兼容性问题

CSS

CSS这里主要会问布局相关,了解各种CSS3新特性,CSS3动画等

JavaScript

这部分的内容比较多,也是自己准备得比较多的部分,不具体罗列,直接上自己准备过的资料

前端安全

  • XSS攻击
  • CSRF攻击
  • 浏览器渲染原理、js执行机制这两部分也要重点准备,相关资料忘了

错误监控:这里有总结过:

  • 即时运行错误:(1)使用try...catch捕获;(2)使用window.onerror方法捕获;
  • 资源加载错误:1)使用object.onerror方法捕获,为什么不能用window.onerror呢?因为资源加载错误不会冒泡到window对象;2)使用performance.getEntries,使用该方法获取所有已经加载的资源,跟所有资源对比,看哪些没有加载成功;3)Error事件捕获;
  • 跨域js报错怎么捕获?即“Script error”,解决方法1.script标签添加crossorigin字段,2.添加跨域 HTTP 响应头,Access-Control-Allow-Origin: *
  • 错误上报:1.采用ajax技术;2.利用Image对象上报错误(面试应该把这个答到)

前端性能优化

  • 这方面是重点,但好像没有看过特别的文章,“雅虎35条军规”,能背多少就背多少,理解最好。可以扯上浏览器渲染原理。

其他资料

心得体会

前面的都是一部分资料,可能有点乱,但有些也记不住了。很多时候都看论坛和博客,和面试之前突击相关公司的面经。接下来总结一下面试过程中的心得和体会

  • 当面试官问你一个问题时,不要只回答一个问题,而应该尽可能把跟这个问题相关的知识点都说出来,前提是你了解的,懂的。比如面试管问你React,你可以把React的相关特性,应用场景和局限性,和其他框架之间的区别,甚至React全家桶都可以说。再比如面试官问你前端缓存,那你应该把你知道的前端缓存相关的都说出来,比如强缓存,协商缓存,缓存头,no-store和no-cache区别等等说出来,也许面试官就不会再继续问你相关的问题了,这种情况我确实有遇到过。
  • 面试过程一定要自信,在前期面试的时候,由于心理有压力面试不是很自信吃了不少亏,面试官也有提醒过
  • 关于实习和项目,这两个可以说是重点,一定要提前整理好在实习或项目过程中遇到的难点。在述说过程中一定要展现你发问题,思考问题和解决问题的过程。说话模式简单总结类似为:在实践过程中我使用XX工具或者通过XX方法,发现了XX问题,通过xx方法解决了这个问题。然后通过对比说说为什么用这个方法,例如因为这个方法跟其他方法相比有xx优势,另外如果用到了库,那么也要说说这个库的实现原理是什么。总之,要体现你发现问题和解决问题的能力。
  • 整理难点问题,可以写在一张纸上,在面试前自己想好面试官可能会问你什么问题,然后查找相关资料,把答案整理一遍,每次面试完后不断反思完善自己的答案。一定要提前准备好,不然面试官叫你说遇到的难点,或者直接问问题时可能会懵逼。
  • 务必记住:在准备过程中,多思考应用场景,优缺点,局限性等。回答问题时能答上这些最好。比如你项目用来mongodb,那面试官很可能就会问你为什么要用mongodb,它的优缺点是什么,跟MySQL相比有什么优势。
  • 多思考更好的解决方案,比如React使用redux状态管理,那么如果不允许使用redux,或者感觉redux太麻烦了,你会有什么方案替代它?再比如Vuex呢?

疯掉了吧
663 声望83 粉丝

我写得不是代码,是情怀


« 上一篇
webSocket